| MPLINK Object Linker | v4.06 |
| MPLIB™ Object Librarian | v4.06 |
| MP2COD COFF to COD File Converter | v4.06 |
| MP2HEX COFF to HEX File Converter | v4.06 |
Due to a change in COFF file format, MPLINK Linker v4.00 and later will not be compatible with versions of MPASM Assembler prior to v5.00, versions of MPLAB C18 C Compiler prior to v3.00, or versions of the MPLAB IDE prior to v7.21.
MPLINK Linker v4.00 and later will have backward compatibility to earlier versions at the source level only. Any existing object files or libraries compiled with earlier versions of the tools will not link using new versions of the tools. They will need to be recompiled from source.
If the user attempts to use this release with object files or libraries compiled with earlier versions of MPLAB C18 C Compiler, MPLINK Link, and MPASM Assembler, the error message that will be received will be similar to:
Error - Coff file format for 'C:\mcc18\lib/c018i.o' is out of date.
If the user attempts to use an old version of MPLINK Linker to link object files or libraries compiled with this release, the error message that will be received will be similar to:
Error - Coff file format for 'C:\mcc18\lib/c018i.o' does not appear to be a valid COFF file.
Not intended for use with MPLAB C18. For C18 projects, use the linker scripts provided with that product.
18f65j10 18f65j15 18f66j10 18f66j15 18f67j10 18f85j10 18f85j15 18f86j10 18f86j15 18f87j10The linker scripts showed code pages for ICD2 resources in program memory but for these devices the program memory is not used by the ICD2 debug executive.
rom unsigned char array[0x1fffD];This ROM variable should occupy 1fffD size in the ROM space, but the map file showed only fffD.
12F609 18F24K20 18F44K20
16F610
12F615 18F87J50 18F86J50 18F85J50 18F67J50 18F66J50 18F65J50 18F86J55 18F66J55 18F87J11 18F86J11 18F67J11 18F66J11 18F86J16 18F66J16
18F2682 18F4682 18F63J11 18F64J11 18F65J11 18F83J11 18F84J11 18F85J11
18F25K20 18F2685 18F45K20 18F4685 18F63J90 18F64J90 18F65J90 18F83J90 18F84J90 18F85J90 16F631 16F677 16F883 16F884 16F886 16F887
16F616 16HV616 16HV785
110F200 10F202 10F204 10F206 10F220 10F222 12C508 12C508A 12C509 12C509A 12C671 12C672 12CE518 12CE519 12CE673 12CE674 12CR509A 12F508 12F509 12F510 12F609* 12F615 12F629 12F635 12F675 12F683 14000 16C432 16C433 16C505 16C52 16C54 16C54A 16C54B 16C54C 16C55 16C554 16C557 16C558 16C55A 16C56 16C56A 16C57 16C57C 16C58A 16C58B 16C5X 16C61 16C62 16C620 16C620A 16C621 16C621A 16C622 16C622A 16C62A 16C62B 16C63 16C63A 16C64 16C642 16C64A 16C65 16C65A 16C65B 16C66 16C662 16C67 16C71 16C710 16C711 16C712 16C715 16C716 16C717 16C72 16C72A 16C73 16C73A 16C73B 16C74 16C745 16C747 16C74A 16C74B 16C76 16C765 16C77 16C770 16C771 16C773 16C774 16C781 16C782 16C84 16C923 16C924 16C925 16C926 16CE623 16CE624 16CE625 16CR54 16CR54A 16CR54B 16CR54C 16CR56A 16CR57A 16CR57B 16CR57C 16CR58A 16CR58B 16CR62 16CR620A 16CR63 16CR64 16CR65 16CR72 16CR83 16CR84 16CXX 16F505 16F506 16F54 16F57 16F59 16F610 16F616 16F627 16F627A 16F628 16F628A 16F630 16F631 16F636 16F639 16F648A 16F676 16F677 16F684 16F685 16F687 16F688 16F689 16F690 16F716 16F72 16F73 16F737 16F74 16F76 16F767 16F77 16F777 16F785 16F818 16F819 16F83 16F84 16F84A 16F87 16F870 16F871 16F872 16F873 16F873A 16F874 16F874A 16F876 16F876A 16F877 16F877A 16F88 16F883 16F884 16F886 16F887 16F913 16F914 16F916 16F917 16F946 16HV540 16HV616 16HV785 17C42 17C42A 17C43 17C44 17C752 17C756 17C756A 17C762 17C766 17CR42 17CR43 17CXX 18C242 18C252 18C442 18C452 18C601 18C658 18C801 18C858 18F1220 18F1230 18F1231 18F1320 18F1330 18F1331 18F2220 18F2221 18F2320 18F2321 18F2331 18F2410 18F242 18F2420 18F2423 18F2431 18F2439 18F2450 18F2455 18F248 18F2480 18F24J10 18F24K20* 18F2510 18F2515 18F252 18F2520 18F2523 18F2525 18F2539 18F2550 18F258 18F2580 18F2585 18F25J10 18F25K20 18F2610 18F2620 18F2680 18F2682 18F2685 18F4220 18F4221 18F4320 18F4321 18F4331 18F4410 18F442 18F4420 18F4423 18F4431 18F4439 18F4450 18F4455 18F448 18F4480 18F44J10 18F44K20* 18F4510 18F4515 18F452 18F4520 18F4523 18F4525 18F4539 18F4550 18F458 18F4580 18F4585 18F45J10 18F45K20 18F4610 18F4620 18F4680 18F4682 18F4685 18F6310 18F6390 18F63J11 18F63J90 18F6410 18F6490 18F64J11 18F64J15 18F64J90 18F6520 18F6525 18F6527 18F6585 18F65J10 18F65J11 18F65J15 18F65J50 18F65J90 18F6620 18F6621 18F6622 18F6627 18F6680 18F66J10 18F66J11 18F66J15 18F66J16 18F66J50 18F66J55 18F66J60 18F66J65 18F6720 18F6722 18F67J10 18F67J11 18F67J50 18F67J60 18F8310 18F8390 18F83J11 18F83J90 18F8410 18F8490 18F84J11 18F84J15 18F84J90 18F8520 18F8525 18F8527 18F8585 18F85J10 18F85J11 18F85J15 18F85J50 18F85J90 18F8620 18F8621 18F8622 18F8627 18F8680 18F86J10 18F86J11 18F86J15 18F86J16 18F86J50 18F86J55 18F86J60 18F86J65 18F8720 18F8722 18F87J10 18F87J11 18F87J50 18F87J60 18F96J60 18F96J65 18F97J60 EEPROM16 EEPROM8 RF509AF RF509AG RF675F RF675H RF675K
*Note: Early adopter part support added since last release
THE PARTS CORRESPONDING TO THESE OPTIONS MAY NOT ALL BE COMMERCIALLY AVAILABLE.
The part selection is specified at assembly time and contained within the object file. An appropriate linker command file is necessary to properly link for the chosen part.
Windows 98, Windows XP, Windows NT v4.0, Windows 2000
int g (void) {
return 2;
}
void f (void);
#pragma interrupt f
void f (void) {
overlay int x;
x = g ();
}
void main (void) {
int x;
x = g ();
}
Will cause a linker error, stating that 'g' is recursive and
has locals of "overlay" storage class. The workaround is to
use "auto" instead of "overlay" in the interrupt.
LIST P=12C508
CODE 0x100
MOVLW 0
MOVLW 1
MOVLW 2
MOVLW 3
END
After assembly, execute 'mp2hex.exe t.o /r 0x104-0x104'.
The hex file content is:
:02 0000 04 0000FA
:02 0206 00 030C E7
:00 0000 01 FF
The data record shows the instruction 'MOVLW 3' at address
0x103, but 0x103 was not specified in the range.
Error - unknown switch: /r
Use the /h option instead.
int add( int a, int b )
{
int c;
c = a + b;
return c;
}
can be compiled and archived with the commands:
mcc18 test.c -sco
mplib -c test.lib test.o
However, attempting to list the files in the archive link the archive will result in the error:
Error - Coff file 'test.o' could not read string table.
Error - Could not build member 'test.o' in library file './test.lib'.